package main

import (
	"flag"
	"log"
	"os"
	"runtime/pprof"
)

var cpuprofile = flag.String("cpuprofile", "/tmp/cpuprofile", "write cpu profile to file")

/*
*
  - # 代码解释

这段代码的功能是启动一个CPU性能分析，将结果写入指定文件，并执行一个简单的循环计算。具体步骤如下：
1. 解析命令行参数，设置CPU性能分析文件路径。
2. 创建文件并启动CPU性能分析。
3. 执行一个大循环累加操作。
4. 停止CPU性能分析并关闭文件。
5. 打印最终的累加结果。

# 控制流图
```mermaid
flowchart TD

	A[开始] --> B[解析命令行参数]
	B --> C[创建性能分析文件]
	C -->|失败| F[退出并打印错误]
	C -->|成功| D[启动CPU性能分析]
	D --> E[执行循环累加]
	E --> G[停止CPU性能分析]
	G --> H[打印结果]
	H --> I[结束]

```
*/
func main() {
	flag.Parse()
	f, err := os.Create(*cpuprofile)
	if err != nil {
		log.Fatal(err)
	}
	pprof.StartCPUProfile(f)
	defer pprof.StopCPUProfile()
	var result int
	for i := 0; i < 1000000000; i++ {
		result += i
	}
	log.Println("result:", result)
}
